草庐IT

Linux IO重定向和管道

全部标签

windows - 将 hwnd GDI 调用重定向到系统内存位图?

我有一个第3方ActiveX控件,我想在其他表示技术(Direct3D和WPF)中呈现。为此,我需要ActiveX渲染到系统内存位图而不是屏幕。我知道有办法做到这一点,但不知道从哪里开始。我不害怕做任何native方法Hook,但我不确定从哪里开始。我在想BeginPaint(...)可能是热门票...有没有人这样做过或看到过周围的例子/sample?顺便说一句,我不想​​做WM_PRINT类型的解决方案。我宁愿此代码是被动的,而不是主动的并强制hwnd重新绘制。编辑:两个答案对我来说都是正确的,所以我给了每个答案+1。我希望有一个较低级别的解决方案来更加灵活,但目前这已经足够了。

c++ - 较小的管道如何加速数据流?

有一个1MB的管道:if(0==CreatePipe(&hRead,&hWrite,0,1024*1024)){printf("CreatePipefailed\n");returnsuccess;}一次发送4000个字节(bytesReq=4000)while((bytesReq=(FileSize-offset))!=0){//SenddatatoDecoder.cppthread,convertingtohumanreadableCSVif((0==WriteFile(hWrite,readBuff,bytesReq,&bytesWritten,0))||(bytesWritte

windows - 在 Windows 上动态重定向 child 的标准输出

我注意到关于处理这个的其他几个问题,但似乎都受到以下问题的困扰:不在Windows上工作要求child在检索输出之前完成我想做的是调用一个程序(例如tshark.exe)并在它运行时处理它的输出。迄今为止我已经尝试过:反引号第三轮过程::可靠一切都没有成功。我可以花一整天的时间尝试并找不到一个可以帮助我解决这个问题的模块(即我已经花了一整天),但我认为如果我只是问是否有人知道一个可能会更好。 最佳答案 您不需要模块。只需了解open命令的管道形式——这些在Windows上工作得很好。my$pid=open(my$cmd_handle

pipe - Windows 轮询或选择命名管道

我可以在Windows中对命名管道句柄使用选择和轮询吗?如果能举个例子就好了。(我对windows编程很陌生)如果其中一个进程宕机,而我正在另一端进行轮询,我会在另一个进程上收到任何错误消息,表明该进程已宕机吗? 最佳答案 不幸的是没有。Windows通过重叠的I/O和I/O完成端口促进异步通信的两种不同模式。简而言之,重叠I/O会在I/O操作完成时短暂接收回调。当I/O操作完成并允许应用程序同时扩展对多个套接字的处理时,IOCP在端口上接收事件。http://en.wikipedia.org/wiki/Iocp最坏的情况是,您可以

c# - 在 C# 中将输出管道输出到文本文件

我这里有一个方法,尽管我想将它的输出通过管道传输到一个文件,例如output.txt,我怎么能在这种情况下做到这一点?foreach(stringtmpLineinFile.ReadAllLines(@"c:\filename.txt")){if(File.Exists(tmpLine)){//output}} 最佳答案 通常命令行明智,你做mycommand>somefile.txt或mycommand|more这是有效的,因为输出被写入标准输出。你可以试试http://msdn.microsoft.com/en-us/libra

asp.net - 多个 web.config 重定向规则

我尝试进行301重定向,因为我更改了域。使用Windows服务器并在web.config中添加以下规则。只要新站点上的所有页面都具有相同的名称和文件结构,就可以正常工作...除了作为旧域的根的页面。现在在http://replacement-cost.net/windshield-replacement-cost是否可以编写另一条规则来仅重定向根目录?同时让第二条规则重定向所有其他页面?可能是某种执行顺序?本质上达到相同结果的东西如果ruleURLISROOT=true>gotohttp://replacement-cost.net/windshield-replacement-cos

windows - 命令行输出不重定向到文件。

非常简单:打开控制台,输入mkdirabc>output.txt它创建一个名为output.txt的空文件。现在重复mkdirabc>output.txt命令窗口显示:子目录或文件abc已经存在但不会将此输出到txt。为什么? 最佳答案 您正在将标准输出重定向到您的文件;错误通常在标准错误上报告,这是一个不同的输出流。要重定向标准错误,您可以这样做:mkdirabc2>output.txt或者,如果您想合并两个流并将它们定向到一起:mkdirabc2>&1>output.txt更多详情here.

windows - if/else 将输出重定向到批处理文件中的空变量

这是我的代码:IF"%LOGFILE%"NEQ""(CALL:DO_SOMETHING2>&1>%LOGFILE%)ELSE(CALL:DO_SOMETHING)我面临的问题是IF/ELSE语句被视为一个大语句,整个语句需要在语法上正确。因此,如果“%LOGFILE%”不等于“”,第一个CALL语句在语法上将不正确(即使在这种情况下它永远不会被调用),从而使整个IF/ELSE语句在语法上不正确。我怎样才能解决这个问题? 最佳答案 IF"%LOGFILE%"NEQ""(SETlogfile_redirection=2^>^&1^>%L

java - Windows 命令行上基于 Eclipse 的应用程序的输出仅在通过管道传输时可见(而不是直接在 cmd 中)

我们有一个基于Eclipse的Java应用程序(主类实现IApplication),它是从Windows命令行启动的。它在System.out上的输出不可见/打印到启动它的命令窗口中。然而,当将输出通过管道传输到more时,输出没有问题。怎么会?例如,考虑helloworld.exe。在命令窗口中运行C:\>helloworld.exe时,应用程序只会返回。但是当运行C:\>helloworld.exe|更多,屏幕显示C:>helloworld.exe|morehelloworldC:>在linux上,输出很好。如何在Windows上也看到输出?一些要求的信息:应用程序非常大。我可能无

Windows cmd docker 命令管道

我在WindowsCMD中找到了关于管道命令的说明:The"pipe"redirectstheoutputofaprogramorcommandtoasecondprogramorcommand.Syntax:Command1|Command2[Source](在最底部)然而dockerps-aq|dockerstart或任何类似的组合只会返回错误。在PowerShell中启动所有已停止容器的唯一有效组合。dockerstart$(dockerps-a-q-f"status=exited") 最佳答案 您可以pipeintodock